/**
 * @param {number[]} digits
 * @return {number[]}
 */
var plusOne = function (digits) {
  digits.reverse();

  let carry = 0;

  digits[0] = digits[0] + 1;

  digits.map((e, index) => {
    if (carry) {
      digits[index] = digits[index] + 1;
      carry = 0;
    }
    if (digits[index] == 10) {
      digits[index] = 0;
      carry = 1;
    }
  });

  if (carry) digits.push(carry);

  digits.reverse();

  return digits;
};

plusOne([6, 1, 4, 5, 3, 9, 0, 1, 9, 5, 1, 8, 6, 7, 0, 5, 5, 4, 3]);
